In CG feature film production generally, a generated character body animation receives an approval and is then sent to a cloth artist for cloth animation. The cloth artist generates an appropriate animation of cloth meshes with respect to the given character animation and the director's aesthetic vision.
Such animations sometimes exhibit a pinching problem. A pinching problem exists when two surface areas interpenetrate each other, pinching the surface between them. For cloth simulations, it is difficult for a cloth simulation engine to provide a reasonable solution. Often, the result is tangled cloth at that frame and subsequent frames.
Prior approaches to solving these pinching problems were internal to the cloth simulation engine. That is, when the cloth simulation for a character body mesh with is generated, pinching or tangling is detected and addressed during the simulation. In these approaches, pinched areas are identified, and a solution is calculated that provides reasonable cloth mesh positions for the given case. The same are then substituted for the pinched or tangled regions.
Referring to FIG. 1, a flow chart 10 is illustrated showing one way to eliminate pinching or tangling as described in the prior art. A first step is that a character body mesh or animation is generated (step 12). The character body animation goes through an approval step (step 14), and if approved a character cloth mesh or animation is generated using the approved character body animation (step 16). The character cloth animation is generated using a cloth simulation engine. In the character cloth animation, a simulation is begun (step 18), and during the simulation overlaps in the simulated cloth, i.e., where two pieces of cloth occupy the same location in space, are attempted to be detected (step 22). This detection may occur in a number of ways, using standard collision detection techniques. If a cloth overlap area is detected, a solution is calculated that provides for reasonable cloth mesh positions for the given case (step 24). The simulation then continues (step 26). Once the character cloth animation has been generated, the simulation finishes (step 28).
This calculating-during-simulation is slow, primarily because the calculation is complex. The input data are overconstrained, and finding a solution to match the many boundary conditions is difficult and time-consuming